package com.ruoyi.order.service;

import java.util.List;

import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.order.domain.MesDetectNode;

/**
 * 检测节点Service接口
 * 
 * @author ruoyi
 * @date 2025-02-26
 */
public interface IMesDetectNodeService 
{
    /**
     * 查询检测节点
     * 
     * @param id 检测节点主键
     * @return 检测节点
     */
    public MesDetectNode selectMesDetectNodeById(Long id);

    /**
     * 查询检测节点列表
     * 
     * @param mesDetectNode 检测节点
     * @return 检测节点集合
     */
    public List<MesDetectNode> selectMesDetectNodeList(MesDetectNode mesDetectNode);

    /**
     * 查询检测节点列表
     *
     * @param mesDetectNode 检测节点
     * @param subsysList 产线
     * @return 检测节点集合
     */
    public List<TreeSelect> selectStationTreeList(MesDetectNode mesDetectNode, List<SysDictData> subsysList);

    List<TreeSelect> buildStationTreeSelect(List<MesDetectNode> stations, List<SysDictData> subsysList);

    /**
     * 新增检测节点
     * 
     * @param mesDetectNode 检测节点
     * @return 结果
     */
    public int insertMesDetectNode(MesDetectNode mesDetectNode);

    /**
     * 修改检测节点
     * 
     * @param mesDetectNode 检测节点
     * @return 结果
     */
    public int updateMesDetectNode(MesDetectNode mesDetectNode);

    /**
     * 批量删除检测节点
     * 
     * @param ids 需要删除的检测节点主键集合
     * @return 结果
     */
    public int deleteMesDetectNodeByIds(Long[] ids);

    /**
     * 删除检测节点信息
     * 
     * @param id 检测节点主键
     * @return 结果
     */
    public int deleteMesDetectNodeById(Long id);
}
